#1、定义好班级同学人员列表，让同学们互送礼物，要求：不能自己送自己，随机送礼，一个人只能收一份礼物。
     #定义好人员名单，循环送礼物的人，随机挑选一个收礼物的，最终打印送礼和收礼的关系
#构造字典储存参与者的姓名与礼物。
#第二个功能没有实现
# GiftIn = {'liu': 'apple', 'li': 'beer', 'wang': 'card', 'tao': 'doll', 'zhang': 'pineapple', 'zhao': 'flute',
# 			  'feng': 'coffee'}
# GiftOut = {}
# persons = list(GiftIn.keys())
# for p in persons:
# 	flag = 0  # 标记自己带来的礼物是否还未分配出去
# 	if p in GiftIn:
# 		flag = 1
# 		myGift = GiftIn.pop(p)  # 如果自己带来的礼物还未分配，则去掉该礼物
# 	getGift = GiftIn.popitem()  # 随机返回并移除一对key-value值
# 	GiftOut[p] = getGift[1]  # 得到的礼物
# 	if flag:
# 		GiftIn[p] = myGift  # 将自己的礼物添到未分配礼物中
#
# print(GiftOut)  # 输出礼物分配情况

#2、定义一个字典，将字典里面的整数相加，最终打印哪些key相加，它们相加的值是多少。
#构造符合要求的新字典
# dict = {'a': 100, 'b': 200, 'c': 300,'d':0.1}
# newdict={}
# for k,v in dict.items():
#     if type(v) == int:
#         newdict[k]=v
# # print(newdict)
# #获取key
# m=[]
# for j in newdict:
#     m.append(j)
# #进行相加操作
# def returnSum(newdict):
#     sum = 0
#     for i in newdict:
#         sum = sum + newdict[i]
#     return sum
# print(m,"中的元素之和为")
# print("Sum :", returnSum(newdict))


#3、定义一个列表，里面全部存放整数类型，输出列表中的最大值、最小值、和、平均值。
# import copy
# list = [1,"a",'red','Google','b',3,90,34,23,1,5]
# #定义一个全部存放整数的list
# intlist=[]
# for x in list:
#     if type(x) == int:
#         intlist.append(x)
# #对原始数据排序  先将原始数据复制一下
# newlist = copy.deepcopy(intlist)
#
# #最大值 最小值
# max_l = newlist[len(newlist)-1]
# min_l = newlist[0]
# #和
# sum_l = 0
# for i in newlist:
#     sum_l += i
# #平均值
# ave_l = sum_l/len(newlist)
# print(max_l,min_l,sum_l,ave_l)

#4、使用python实现ls命令，接受从键盘输入的文件路径，如果路径是文件夹，打印路径下有哪些文件或文件夹。如果路径是文件，就只输出当前文件本身。
#没写完！！！
# import os #os模块用于文件操作
# # import argparse #argparse 模块能设置和接收命令行参数
# #接收输入命令
#
# #判断路径是否合法
# # args = parser.parse_arge()
# # directory = args.path
# # if not os.path.isdir(directory)
#
# #实现ls-a指令
# doc=os.listdir()
# for i in doc:
# 	print(i)
# #实现ls指令
# for i in doc:
# 	str1=i[0:1]
# 	if str1 != '.':
# 		print(i)





